Add column "utm c" (utm zone character as part of utm coordinates).
authoroliskoli <oliskoli>
Tue, 13 Feb 2007 08:13:39 +0000 (08:13 +0000)
committeroliskoli <oliskoli>
Tue, 13 Feb 2007 08:13:39 +0000 (08:13 +0000)
unicsv.c
xmldoc/formats/unicsv.xml

index c71afeb36c4a84aa45aa4118224e544f0736f1f0..edef30b1af181583f976b8ccb3b813e59ff7fca4 100644 (file)
--- a/unicsv.c
+++ b/unicsv.c
@@ -41,6 +41,7 @@ struct {
        int utmzcol; /* Zone */
        int utmncol; /* Northing */
        int utmecol; /* Easting */
+       int utmccol; /* Zone character */
 } unicsv_fieldpos;
 
 static double unicsv_altscale;
@@ -118,6 +119,9 @@ unicsv_fondle_header(char *ibuf)
                else if (UNICSV_CONTAINS("utm e")) {
                        unicsv_fieldpos.utmecol = i;
                }
+               else if (UNICSV_CONTAINS("utm c")) {
+                       unicsv_fieldpos.utmccol = i;
+               }
 /* todo: speed, course, hdop, sat, date, time, maybe a few others */
        }
 }
@@ -151,6 +155,7 @@ unicsv_parse_one_line(char *ibuf)
        int  utmz = -9999;
        double utme = 0;
        double utmn = 0;
+       char utmc = 'N';
 
        s = csv_lineparse(ibuf, unicsv_fieldsep, "\"", 0);
        if (s == NULL) return;
@@ -189,10 +194,13 @@ unicsv_parse_one_line(char *ibuf)
                else if (i == unicsv_fieldpos.utmncol) {
                        utmn = atof(s);
                }
+               else if (i == unicsv_fieldpos.utmccol) {
+                       utmc = toupper(s[0]);
+               }
        }
        if (utmz  != -9999) {
                GPS_Math_UTM_EN_To_WGS84(&wpt->latitude, &wpt->longitude,
-                       utme, utmn, utmz, 'N');
+                       utme, utmn, utmz, utmc);
        }
        waypt_add(wpt);
 }
index 6b7a21bbaea1311fb91b56ab3cea94a487f59e4d..61b8d205cb964062155fa9593fedae501956db99 100644 (file)
@@ -12,7 +12,7 @@
        </para>
        <para>
        The list of keywords include "lat", "lon", "desc", "name", 
-       "notes", "alt", "utm z", "utm n", "utm e", and "url".   
+       "notes", "alt", "utm z", "utm n", "utm e", "utm c" and "url".   
        Fuller spellings (i.e. "longitude") may be used.
        </para>
        <para>